

package cn.shengchao.examstar.distribute.infrastrure.po;

import cn.shengchao.examstar.rpc.distribute.cs.UserCs;
import cn.shengchao.examstar.rpc.distribute.enums.DistributeDataStatusEnum;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
import top.continew.starter.extension.crud.model.entity.BaseDO;

@Data
@NoArgsConstructor
@TableName(value = "distribute_user_invite")
public class DistributeUserInvite extends BaseDO {
    /**
     * 自增编码
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 用户id
     */
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 邀请用户id
     * //最初考虑为原始的邀请人，一直不变。
     * //2025-05-02修改，邀请人可以被修改，原始邀请人只能考虑去查历史。
     */
    @TableField(value = "invite_user_id")
    private Long inviteUserId;

    /**
     * 分销用户
     */
    @TableField(value = "distribute_user_id")
    private Long distributeUserId;


    /**
     * 数据状态0不生效1生效
     */
    @TableField(value = "data_status")
    private Integer dataStatus;

    public static DistributeUserInvite buildPlatformInviteRecord(Long userId) {
        DistributeUserInvite distributeUserInvite = new DistributeUserInvite();
        distributeUserInvite.setUserId(userId);
        distributeUserInvite.setInviteUserId(UserCs.PLATFORM_USER_ID);
        distributeUserInvite.setDistributeUserId(UserCs.PLATFORM_USER_ID);
        distributeUserInvite.setDataStatus(DistributeDataStatusEnum.STATUS_CURT.getStatus());
        return distributeUserInvite;
    }

}